package com.situ.company.service.Impl.service.Impl;

import com.situ.company.dao.EmployeeDao;
import com.situ.company.entity.Employee;
import com.situ.company.service.Impl.EmployeeService;
import com.situ.company.vo.EmployeeVO;
import com.situ.company.vo.TableVO;

import java.util.List;

public class EmployeeServiceImpl implements EmployeeService {

    EmployeeDao dao = new EmployeeDao();

    @Override
    public TableVO select(Integer page, Integer limit, String name, String tel) {
        List<EmployeeVO> list = dao.list(page,limit,name,tel);

        //把数据返回给table小工具(响应)
        //获取一个响应的前台写出对象
        //list转完后是[{},{},{}]


        TableVO vo = new TableVO();
        //dao统计一个数，一共都少条数据
        vo.setCount(dao.count(name,tel));
        vo.setData(list);
        //使用json工具把对象转成json格式的字符串
        //fastjson 和 jackson
        //通过jackson工具把list对象转成json 字符串
        return vo;
    }

    @Override
    public void save(Employee e) {
        if(e.getId()==null){
            dao.insert(e);
        }else{
            dao.update(e);
        }

    }

    @Override
    public void delete(Integer id) {
        dao.delete(id);
    }

    @Override
    public Employee info(Integer id) {

        List<Employee> list = dao.edit(id);
        if (list.isEmpty()) {
            return null;
        } else {
            return list.get(0);
        }
    }
}
